/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Principal.java
 *
 * Created on 17/10/2012, 11:43:54 PM
 */

package co.edu.unitecnologica.interfaz;

import co.edu.unitecnologica.modelo.Objetos;
import co.edu.unitecnologica.modelo.Roles;
import co.edu.unitecnologica.modelo.Usuarios;
import java.util.Collection;
import java.util.Iterator;
import javax.swing.JInternalFrame;

/**
 *
 * @author osalcedo
 */
public class Principal extends javax.swing.JFrame {

    String nombreFormulario;
    String conteoRegistros;
    private Usuarios usuario;

    /** Creates new form Principal */
    public Principal() {
        initComponents();
        init();
        nombreFormulario="";
        conteoRegistros="";
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        admEntidades = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("liquidacionPU").createEntityManager();
        jtbControl = new javax.swing.JToolBar();
        jbNuevoRegistro = new javax.swing.JButton();
        jbCargarRegistros = new javax.swing.JButton();
        jbBuscarRegistro = new javax.swing.JButton();
        jbEditarRegistro = new javax.swing.JButton();
        jbBorrarRegistro = new javax.swing.JButton();
        jbGuardar = new javax.swing.JButton();
        jbCancelar = new javax.swing.JButton();
        escritorio = new javax.swing.JDesktopPane();
        jtbNavegacion = new javax.swing.JToolBar();
        jbPrimerRegistro = new javax.swing.JButton();
        jbAnteriorRegistro = new javax.swing.JButton();
        jlInfo = new javax.swing.JLabel();
        jbSiguienteRegistro = new javax.swing.JButton();
        jbUltimoRegistro = new javax.swing.JButton();
        jmbBarraMenu = new javax.swing.JMenuBar();
        jmSistema = new javax.swing.JMenu();
        jmiIniciarSesion = new javax.swing.JMenuItem();
        jmiSalir = new javax.swing.JMenuItem();
        jmOpciones = new javax.swing.JMenu();
        jmRegistros = new javax.swing.JMenu();
        jmiNuevoRegistro = new javax.swing.JMenuItem();
        jmiCargarRegistros = new javax.swing.JMenuItem();
        jmiBuscarRegistros = new javax.swing.JMenuItem();
        jmiEditarRegistro = new javax.swing.JMenuItem();
        jmiBorrarRegistro = new javax.swing.JMenuItem();
        jSeparator1 = new javax.swing.JSeparator();
        jmiGuardar = new javax.swing.JMenuItem();
        jmiCancelar = new javax.swing.JMenuItem();
        jmNavegacion = new javax.swing.JMenu();
        jmiPrimerRegistro = new javax.swing.JMenuItem();
        jmiAnteriorRegistro = new javax.swing.JMenuItem();
        jmiSiguienteRegistro = new javax.swing.JMenuItem();
        jmiUltimoRegistro = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Sistema de Liquidacion de estudiantes");

        jtbControl.setRollover(true);

        jbNuevoRegistro.setText("Nuevo");
        jbNuevoRegistro.setEnabled(false);
        jbNuevoRegistro.setFocusable(false);
        jbNuevoRegistro.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbNuevoRegistro.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbNuevoRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbNuevoRegistroActionPerformed(evt);
            }
        });
        jtbControl.add(jbNuevoRegistro);

        jbCargarRegistros.setText("Cargar");
        jbCargarRegistros.setEnabled(false);
        jbCargarRegistros.setFocusable(false);
        jbCargarRegistros.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbCargarRegistros.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbCargarRegistros.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbCargarRegistrosActionPerformed(evt);
            }
        });
        jtbControl.add(jbCargarRegistros);

        jbBuscarRegistro.setText("Buscar");
        jbBuscarRegistro.setEnabled(false);
        jbBuscarRegistro.setFocusable(false);
        jbBuscarRegistro.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbBuscarRegistro.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbBuscarRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbBuscarRegistroActionPerformed(evt);
            }
        });
        jtbControl.add(jbBuscarRegistro);

        jbEditarRegistro.setText("Editar");
        jbEditarRegistro.setEnabled(false);
        jbEditarRegistro.setFocusable(false);
        jbEditarRegistro.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbEditarRegistro.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbEditarRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbEditarRegistroActionPerformed(evt);
            }
        });
        jtbControl.add(jbEditarRegistro);

        jbBorrarRegistro.setText("Borrar");
        jbBorrarRegistro.setEnabled(false);
        jbBorrarRegistro.setFocusable(false);
        jbBorrarRegistro.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbBorrarRegistro.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbBorrarRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbBorrarRegistroActionPerformed(evt);
            }
        });
        jtbControl.add(jbBorrarRegistro);

        jbGuardar.setText("Guardar");
        jbGuardar.setEnabled(false);
        jbGuardar.setFocusable(false);
        jbGuardar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbGuardar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbGuardar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbGuardarActionPerformed(evt);
            }
        });
        jtbControl.add(jbGuardar);

        jbCancelar.setText("Cancelar");
        jbCancelar.setEnabled(false);
        jbCancelar.setFocusable(false);
        jbCancelar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbCancelar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbCancelarActionPerformed(evt);
            }
        });
        jtbControl.add(jbCancelar);

        jtbNavegacion.setRollover(true);

        jbPrimerRegistro.setText("|<");
        jbPrimerRegistro.setFocusable(false);
        jbPrimerRegistro.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbPrimerRegistro.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbPrimerRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbPrimerRegistroActionPerformed(evt);
            }
        });
        jtbNavegacion.add(jbPrimerRegistro);

        jbAnteriorRegistro.setText("<");
        jbAnteriorRegistro.setFocusable(false);
        jbAnteriorRegistro.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbAnteriorRegistro.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbAnteriorRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbAnteriorRegistroActionPerformed(evt);
            }
        });
        jtbNavegacion.add(jbAnteriorRegistro);

        jlInfo.setBackground(new java.awt.Color(245, 246, 19));
        jlInfo.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        jtbNavegacion.add(jlInfo);

        jbSiguienteRegistro.setText(">");
        jbSiguienteRegistro.setFocusable(false);
        jbSiguienteRegistro.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbSiguienteRegistro.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbSiguienteRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbSiguienteRegistroActionPerformed(evt);
            }
        });
        jtbNavegacion.add(jbSiguienteRegistro);

        jbUltimoRegistro.setText(">|");
        jbUltimoRegistro.setFocusable(false);
        jbUltimoRegistro.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jbUltimoRegistro.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jbUltimoRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbUltimoRegistroActionPerformed(evt);
            }
        });
        jtbNavegacion.add(jbUltimoRegistro);

        jmSistema.setText("Sistema");

        jmiIniciarSesion.setText("Iniciar Sesión");
        jmiIniciarSesion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiIniciarSesionActionPerformed(evt);
            }
        });
        jmSistema.add(jmiIniciarSesion);

        jmiSalir.setText("Salir");
        jmiSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiSalirActionPerformed(evt);
            }
        });
        jmSistema.add(jmiSalir);

        jmbBarraMenu.add(jmSistema);

        jmOpciones.setText("Opciones");
        jmbBarraMenu.add(jmOpciones);

        jmRegistros.setText("Registros");

        jmiNuevoRegistro.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK));
        jmiNuevoRegistro.setText("Nuevo Registro");
        jmiNuevoRegistro.setEnabled(false);
        jmiNuevoRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiNuevoRegistroActionPerformed(evt);
            }
        });
        jmRegistros.add(jmiNuevoRegistro);

        jmiCargarRegistros.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.CTRL_MASK));
        jmiCargarRegistros.setText("Cargar Registros");
        jmiCargarRegistros.setEnabled(false);
        jmiCargarRegistros.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiCargarRegistrosActionPerformed(evt);
            }
        });
        jmRegistros.add(jmiCargarRegistros);

        jmiBuscarRegistros.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.CTRL_MASK));
        jmiBuscarRegistros.setText("Buscar Registros");
        jmiBuscarRegistros.setEnabled(false);
        jmiBuscarRegistros.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiBuscarRegistrosActionPerformed(evt);
            }
        });
        jmRegistros.add(jmiBuscarRegistros);

        jmiEditarRegistro.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.CTRL_MASK));
        jmiEditarRegistro.setText("Editar Registro");
        jmiEditarRegistro.setEnabled(false);
        jmiEditarRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiEditarRegistroActionPerformed(evt);
            }
        });
        jmRegistros.add(jmiEditarRegistro);

        jmiBorrarRegistro.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.CTRL_MASK));
        jmiBorrarRegistro.setText("Borrar Registro");
        jmiBorrarRegistro.setEnabled(false);
        jmiBorrarRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiBorrarRegistroActionPerformed(evt);
            }
        });
        jmRegistros.add(jmiBorrarRegistro);
        jmRegistros.add(jSeparator1);

        jmiGuardar.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
        jmiGuardar.setText("Guardar cambios");
        jmiGuardar.setEnabled(false);
        jmiGuardar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiGuardarActionPerformed(evt);
            }
        });
        jmRegistros.add(jmiGuardar);

        jmiCancelar.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_MASK));
        jmiCancelar.setText("Cancelar cambios");
        jmiCancelar.setEnabled(false);
        jmiCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiCancelarActionPerformed(evt);
            }
        });
        jmRegistros.add(jmiCancelar);

        jmbBarraMenu.add(jmRegistros);

        jmNavegacion.setText("Navegacion");

        jmiPrimerRegistro.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_HOME, java.awt.event.InputEvent.CTRL_MASK));
        jmiPrimerRegistro.setText("Primer Registro");
        jmiPrimerRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiPrimerRegistroActionPerformed(evt);
            }
        });
        jmNavegacion.add(jmiPrimerRegistro);

        jmiAnteriorRegistro.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_PAGE_UP, 0));
        jmiAnteriorRegistro.setText("Anterior Registro");
        jmiAnteriorRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiAnteriorRegistroActionPerformed(evt);
            }
        });
        jmNavegacion.add(jmiAnteriorRegistro);

        jmiSiguienteRegistro.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_PAGE_DOWN, 0));
        jmiSiguienteRegistro.setText("Siguiente Registro");
        jmiSiguienteRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiSiguienteRegistroActionPerformed(evt);
            }
        });
        jmNavegacion.add(jmiSiguienteRegistro);

        jmiUltimoRegistro.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_END, java.awt.event.InputEvent.CTRL_MASK));
        jmiUltimoRegistro.setText("Ultimo Registro");
        jmiUltimoRegistro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiUltimoRegistroActionPerformed(evt);
            }
        });
        jmNavegacion.add(jmiUltimoRegistro);

        jmbBarraMenu.add(jmNavegacion);

        setJMenuBar(jmbBarraMenu);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addComponent(escritorio, javax.swing.GroupLayout.DEFAULT_SIZE, 519, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jtbControl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jtbNavegacion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jtbControl, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jtbNavegacion, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(escritorio, javax.swing.GroupLayout.DEFAULT_SIZE, 232, Short.MAX_VALUE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jbPrimerRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbPrimerRegistroActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.primerRegistro();
            setInfoFormulario(formulario.getTitle(), formulario.getRegistroActual()+1, formulario.getRegistrosTotales());
        }
    }//GEN-LAST:event_jbPrimerRegistroActionPerformed

    private void jbNuevoRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbNuevoRegistroActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.nuevo();
        }
    }//GEN-LAST:event_jbNuevoRegistroActionPerformed

    private void jbBuscarRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbBuscarRegistroActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.buscar();
        }
    }//GEN-LAST:event_jbBuscarRegistroActionPerformed

    private void jbEditarRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbEditarRegistroActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.editar();
        }
    }//GEN-LAST:event_jbEditarRegistroActionPerformed

    private void jbBorrarRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbBorrarRegistroActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.borrar();
        }
    }//GEN-LAST:event_jbBorrarRegistroActionPerformed

    private void jbGuardarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbGuardarActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.guardar();
        }
    }//GEN-LAST:event_jbGuardarActionPerformed

    private void jbCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbCancelarActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.cancelar();
        }
    }//GEN-LAST:event_jbCancelarActionPerformed

    private void jbAnteriorRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbAnteriorRegistroActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.anteriorRegistro();
            setInfoFormulario(formulario.getTitle(), formulario.getRegistroActual()+1, formulario.getRegistrosTotales());
        }
    }//GEN-LAST:event_jbAnteriorRegistroActionPerformed

    private void jbSiguienteRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbSiguienteRegistroActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.siguienteRegistro();
            setInfoFormulario(formulario.getTitle(), formulario.getRegistroActual()+1, formulario.getRegistrosTotales());
        }
    }//GEN-LAST:event_jbSiguienteRegistroActionPerformed

    private void jbUltimoRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbUltimoRegistroActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.ultimoRegistro();
            setInfoFormulario(formulario.getTitle(), formulario.getRegistroActual()+1, formulario.getRegistrosTotales());
        }
    }//GEN-LAST:event_jbUltimoRegistroActionPerformed

    private void jbCargarRegistrosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbCargarRegistrosActionPerformed
        JInternalFrame f = getEscritorio().getSelectedFrame();
        if(f instanceof Formulario){
            Formulario formulario = (Formulario) f;
            formulario.cargar();
            setInfoFormulario(formulario.getTitle(), formulario.getRegistroActual()+1, formulario.getRegistrosTotales());
        }
    }//GEN-LAST:event_jbCargarRegistrosActionPerformed

    private void jmiSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiSalirActionPerformed
        admEntidades.close();
        dispose();
    }//GEN-LAST:event_jmiSalirActionPerformed

    private void jmiNuevoRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiNuevoRegistroActionPerformed
        jbNuevoRegistroActionPerformed(evt);
    }//GEN-LAST:event_jmiNuevoRegistroActionPerformed

    private void jmiCargarRegistrosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiCargarRegistrosActionPerformed
        jbCargarRegistrosActionPerformed(evt);
    }//GEN-LAST:event_jmiCargarRegistrosActionPerformed

    private void jmiBuscarRegistrosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiBuscarRegistrosActionPerformed
        jbBuscarRegistroActionPerformed(evt);
    }//GEN-LAST:event_jmiBuscarRegistrosActionPerformed

    private void jmiEditarRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiEditarRegistroActionPerformed
        jbEditarRegistroActionPerformed(evt);
    }//GEN-LAST:event_jmiEditarRegistroActionPerformed

    private void jmiBorrarRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiBorrarRegistroActionPerformed
        jbBorrarRegistroActionPerformed(evt);
    }//GEN-LAST:event_jmiBorrarRegistroActionPerformed

    private void jmiGuardarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiGuardarActionPerformed
        jbGuardarActionPerformed(evt);
    }//GEN-LAST:event_jmiGuardarActionPerformed

    private void jmiCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiCancelarActionPerformed
        jbCancelarActionPerformed(evt);
    }//GEN-LAST:event_jmiCancelarActionPerformed

    private void jmiPrimerRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiPrimerRegistroActionPerformed
        jbPrimerRegistroActionPerformed(evt);
    }//GEN-LAST:event_jmiPrimerRegistroActionPerformed

    private void jmiAnteriorRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiAnteriorRegistroActionPerformed
        jbAnteriorRegistroActionPerformed(evt);
    }//GEN-LAST:event_jmiAnteriorRegistroActionPerformed

    private void jmiSiguienteRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiSiguienteRegistroActionPerformed
        jbSiguienteRegistroActionPerformed(evt);
    }//GEN-LAST:event_jmiSiguienteRegistroActionPerformed

    private void jmiUltimoRegistroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiUltimoRegistroActionPerformed
        jbUltimoRegistroActionPerformed(evt);
    }//GEN-LAST:event_jmiUltimoRegistroActionPerformed

    private void jmiIniciarSesionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiIniciarSesionActionPerformed
        FrmIniciarSesion i= new FrmIniciarSesion(this);
        escritorio.add(i);
        i.setVisible(true);
    }//GEN-LAST:event_jmiIniciarSesionActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Principal().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.persistence.EntityManager admEntidades;
    private javax.swing.JDesktopPane escritorio;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JButton jbAnteriorRegistro;
    private javax.swing.JButton jbBorrarRegistro;
    private javax.swing.JButton jbBuscarRegistro;
    private javax.swing.JButton jbCancelar;
    private javax.swing.JButton jbCargarRegistros;
    private javax.swing.JButton jbEditarRegistro;
    private javax.swing.JButton jbGuardar;
    private javax.swing.JButton jbNuevoRegistro;
    private javax.swing.JButton jbPrimerRegistro;
    private javax.swing.JButton jbSiguienteRegistro;
    private javax.swing.JButton jbUltimoRegistro;
    private javax.swing.JLabel jlInfo;
    private javax.swing.JMenu jmNavegacion;
    private javax.swing.JMenu jmOpciones;
    private javax.swing.JMenu jmRegistros;
    private javax.swing.JMenu jmSistema;
    private javax.swing.JMenuBar jmbBarraMenu;
    private javax.swing.JMenuItem jmiAnteriorRegistro;
    private javax.swing.JMenuItem jmiBorrarRegistro;
    private javax.swing.JMenuItem jmiBuscarRegistros;
    private javax.swing.JMenuItem jmiCancelar;
    private javax.swing.JMenuItem jmiCargarRegistros;
    private javax.swing.JMenuItem jmiEditarRegistro;
    private javax.swing.JMenuItem jmiGuardar;
    private javax.swing.JMenuItem jmiIniciarSesion;
    private javax.swing.JMenuItem jmiNuevoRegistro;
    private javax.swing.JMenuItem jmiPrimerRegistro;
    private javax.swing.JMenuItem jmiSalir;
    private javax.swing.JMenuItem jmiSiguienteRegistro;
    private javax.swing.JMenuItem jmiUltimoRegistro;
    private javax.swing.JToolBar jtbControl;
    private javax.swing.JToolBar jtbNavegacion;
    // End of variables declaration//GEN-END:variables

    /**
     * @return the admEntidades
     */
    public javax.persistence.EntityManager getAdmEntidades() {
        return admEntidades;
    }

    /**
     * @return the escritorio
     */
    public javax.swing.JDesktopPane getEscritorio() {
        return escritorio;
    }

    private void init() {
        jlInfo.setText(" Formulario ");
    }

    public void setInfoFormulario(String nombre,int registro, int totalRegistros){
        nombreFormulario=nombre;
        conteoRegistros=registro+" de "+totalRegistros;
        jlInfo.setText(nombreFormulario+": "+conteoRegistros);
    }
    
    public void habilitarNuevoRegistro(boolean v){
        jbNuevoRegistro.setEnabled(v);
        jmiNuevoRegistro.setEnabled(v);
    }
    
    public void habilitarCargarRegistros(boolean v){
        jbCargarRegistros.setEnabled(v);
        jmiCargarRegistros.setEnabled(v);
    }
    
    public void habilitarBuscarRegistros(boolean v){
        jbBuscarRegistro.setEnabled(v);
        jmiBuscarRegistros.setEnabled(v);
    }
    
    public void habilitarEditarRegistro(boolean v){
        jbEditarRegistro.setEnabled(v);
        jmiEditarRegistro.setEnabled(v);
    }
    
    public void habilitarBorrarRegistro(boolean v){
        jbBorrarRegistro.setEnabled(v);
        jmiBorrarRegistro.setEnabled(v);
    }
    
    public void habilitarGuardar(boolean v){
        jbGuardar.setEnabled(v);
        jmiGuardar.setEnabled(v);
    }
    
    public void habilitarCancelar(boolean v){
        jbCancelar.setEnabled(v);
        jmiCancelar.setEnabled(v);
    }
    
    public void HabilitarBotonesControl(boolean v){
        habilitarBorrarRegistro(v);
        habilitarBuscarRegistros(v);
        habilitarCancelar(v);
        habilitarCargarRegistros(v);
        habilitarEditarRegistro(v);
        habilitarGuardar(v);
        habilitarNuevoRegistro(v);
    }

    /**
     * @return the jmOpciones
     */
    public javax.swing.JMenu getJmOpciones() {
        return jmOpciones;
    }

    /**
     * @param jmOpciones the jmOpciones to set
     */
    public void setJmOpciones(javax.swing.JMenu jmOpciones) {
        this.jmOpciones = jmOpciones;
    }

    /**
     * @return the usuario
     */
    public Usuarios getUsuario() {
        return usuario;
    }

    /**
     * @param usuario the usuario to set
     */
    public void setUsuario(Usuarios usuario) {
        this.usuario = usuario;
    }

    public void habilitarInicioSesion(boolean v){
        jmiIniciarSesion.setEnabled(v);
    }

    public boolean validarObjeto(String nombreObjeto){
        Collection<Roles> roles = usuario.getRolesCollection();
        Iterator<Roles> iterador_roles = roles.iterator();
        while(iterador_roles.hasNext()){
            Roles rol = iterador_roles.next();
            Collection<Objetos> objetos = rol.getObjetosCollection();
            Iterator<Objetos> iterador_objetos = objetos.iterator();
            while(iterador_objetos.hasNext()){
                Objetos objeto=iterador_objetos.next();
                if(objeto.getNombre().equals(nombreObjeto))
                    return true;
            }
        }
        return false;
    }

}
